# #num = 10
# #num += 100
# #print('num')
# num1= 'num'
# print(type(num1))
# name = "ma name is 'zhangsan'"
# print(name)
# name1 = 'pxlnnn'
# print(name1[1])#0开始计数
# #print(name1[100])
# print(name1[-1])#负数下标是从后往前数
# print(name1[1:3])#切片操作   从1开始  1 2  不包含3  前闭后开
# #若省略前面的数字表示从0开始，省略后面的数字表示到最后结束
#
# a = 'hello'
# b =' world'
# print(a + b)
# print(a * 3)  #字符串只能乘整数
# #c = 'num  = {}'.format(num)#格式化操作
#
# #python中用True和False来表示布尔值
# d = True
# print(type(a))
# print(a)#自带换行
# print(a,end='')#消除换行
# #e = input()  #注意：input
# #print("s:    ", e)
# print(1 / 2)  #py中除法叫做精确除
# print(1 // 2)  #取整除
# print(num ** 10)#乘方运算
# #py中  && 是用and表示逻辑与  也符合短路规律
# #or 表示逻辑或   not表示逻辑非
#
# aa = 'pxlss'
# bb = 'sasa'
# print(a == b)  #两字符串可直接用==比较   输出True  或 False
# #字符串的大小于也遵循字典序   一个一个比
#
# #列表 元组 字典
# x = [9,5,2,1]  #类似数组  列表  也是用len 求长度
# print(x[1: 3])  #也符合切片
#
# #元组
# y = (9,5,2,1)
# print(len(y))
# #区别：列表是可变对象，可修改  元组是不可变对象，不可修改
# #且列表和元组里面的元素不一定是相同类型
#
# #字典  哈希表
# #z = {'ip:22.212.11', 'port :  20 '}
# #print(z['port'])
#
# #引用
# m = 100
# n = m
# #id也是一个内建函数，能够查看一个变量的身份标识,类似地址
# print(id(m))
# print(id(n))
#
# #代码块  直接用缩进，不用{}
# #if a > b
#   #  do_some
# #py中没有switch
# #while 循环
# #num2 = 0
# #while num2 < 10
#     #print(num2)
#    # num2 += 1
#
# #py中for循huan
# #num = 0
# #for num in range (0,10):#range是一个内建函数，前闭后开
#    # print(num)
#
# #xx = [9,3,2, 3] #换成字典也可以
# #for num in xx:
# #   print(num)
# #pass语句
#
# # mm = [1,2,3,4,5]
# # yy = []
# # for nn in mm:
# #     nn = nn * nn
# #     yy.append(nn)
# # print(yy)

# a = [1,2,3,4,5,6]
# b = [num ** 2 for num in a if num % 2 == 1]
# print(b)

#函数
# def add(x = 0,y = 0):  #若未传相应的值  那么自动赋值为0
#     result = x + y
#     return result  #def是关键字，且函数名前无返回值，且参数列表类也没有类型，，，返回值的类型是什么都可以
# print(add(10,20))
#print(add('hello', 'world'))   #加什么都可以
#不支持函数重载，存在多个重名函数，后者覆盖前者


#函数同时返回多个值
# def get_point():
#     x = 10
#     y = 20
#     return x, y
# x, y = get_point()  #_,y = get_point()表示之返回第二个值  用下划线做占位符
# print(x,y)

#文件操作
#1，打开  2，关闭  3，读文件，4， 写文件
# f = open("d:/tool.txt", "r")
# # lines = f.readlines()   #返回一个列表
# # print(lines)
# # for line in f:
# #     print(line, end=' ')
# f.close()
#文件打开后要及时关闭

# f = open("d:/tool.txt", "w")
# f.write('helloworld')
# f.close()


#当我们一个项目的代码量较大时，需要把代码代码放到多个不同的.py文件中
# 可以通过import关键字，引用其他.py文件中的代码
# 被引入的这个代码文件，就称之为模块
# 被引入的文件，去掉.py后缀名，就是模块名
# import test  #跨文件调用
# test.add(10,20)
# print(test.add(10,20))

# a = b = 10
# print(a, b)
# x, y = 10, 20
# print(x, y)
# x, y = y, x  #交换x y
# print(x,y)

#py中的作用域和生命周期
# py中def，class，lamda会改变变量的作用域
# if，else,elif, while,for,try/except不会改变变量的作用域